import { MockMethod } from 'vite-plugin-mock'
import MockJS from 'mockjs'

export default [
  // 请求主页第一页数据
  {
    url: '/api/home',
    method: 'get',
    response: () => {
      // 利用 mockjs 模拟数据
      const data = MockJS.mock({
        // 模拟轮播图数据
        'lunbo|6': [
          {
            'id|+1': 1,
            // imageUrl: '@image(375x150, @color)', // MockJS.Random.image(), MockJS.Random.color()
          },
        ],
        // 模拟最热视频数据
        'zuire|5': [
          {
            id: '@id', // MockJS.Random.id()
            title: '@ctitle(10, 50)',
            url: 'https://www.bilibili.com/video/BV1k7411x7gA?t=9.7',
            'likeNum|100-1000': 19,
            price: '@float(10, 99, 2, 5)',
            like: true,
          },
        ],
        // 模拟我的宠物的数据
        'congwu|10': [
          {
            id: '@id', // MockJS.Random.id()
            address: '杭州市',
            imageUrl: 'http://t15.baidu.com/it/u=3393795373,3600353955&fm=224&app=112&f=JPEG?w=500&h=500',
            name: '@ctitle(3, 6)',
            'age|1-12': 1,
          },
        ],
      })

      // 返回响应数据
      return {
        code: 200,
        data,
      }
    },
  },
  { // 请求更多商品
    url: '/api/home/more',
    method: 'get',
    response: ({ query }) => {
      const { page = 1 } = query
      const pageSize = 5
      const total = 10

      const data = MockJS.mock({
        isEnd: page * pageSize >= total, // 是否所有数据查询结束
        'list|20': [ // 当前页查询的数据
          {
            id: '@id', // MockJS.Random.id()
            title: '@ctitle(10, 50)',
            url: 'https://www.bilibili.com/video/BV1k7411x7gA?t=9.7',
            'likeNum|100-1000': 19,
            price: '@float(10, 99, 2, 5)',
            like: true,
          },
        ],
        page: Number(page), // 页码
        total, // 总数据量
      })
      return {
        code: 200,
        data,
        message: '',
      }
    },
  },
] as MockMethod[]
